大神手把手教你Java性能优化-江南白衣(加强版)
编者按:十月围城广州,中生代技术荣幸邀请到著名Java专家江南白衣,分享《Java性能优化指南》,现场慕名江南白衣而来的观众挤满现场;
会后江南白衣花费数日整理PPT,到1.4版本共66页,内容翔实且旁征博引,不断校正且力求做到极致的匠艺精神值得尊敬!
技术大牛飒然Hang如是说到:
“技术大神中,除了陈皓就是白衣了,四十岁还能钻研、深究低层技术细节,且视之为乐趣,计算机基础知识也非常扎实,看他们的文章确实获益匪浅;
关于java性能调优的文章自己也一直想总结一下,看了白衣的ppt,发现自己某些地方还有一些盲点,不得不说,技术这一行永远不敢说精通,无论如何都总会有你的盲点,也总会有比你聪明则更努力的人”
本文在江南白衣博客原文基础上增加了部分Slides,本文共有43张图片,可点击图片查看原图浏览,预计阅读整篇文章时间:8分钟
正文
来了唯品会一年多,不少时间花在与服务化框架、业务应用的性能的缠斗上。
前几天正好趁着中生代技术的十月十城技术沙龙,把脑海中关于性能优化的记忆全部理了一遍....讲完回家,又本着认真严谨的态度再理了一遍,终于成为现在这份66页的PPT。
各位客官,1.4版内容略有增减,超链接也已修好,请阅读原文重新下载。
范围
应用性能,受操作系统参数,三方类库选择,数据库查询,甚至压测工具如JMeter本身调优的影响。
本次分享只着重在三方面:
JVM的调优
代码的调优
定位性能问题的工具
基本原则
网上如此多新旧不一的资料,这么多肆意传播亦真亦错的观点,怎么办呢?
多看一些靠谱的资料,问一些靠谱的人。
怀疑一切,微基准测试一切,诚意推荐JMH。
看JDK代码,看一切代码。
JVM优化
首先,JIT入门知识;
然后,JVM参数的简介;
再然后,最头痛的GC问题的处理。
代码优化
代码优化,两大方向:
一是面向GC的编程,
二是并发与锁,
然后再来聊聊其他。
问题定位工具集
黑盒调优是最不可靠的,推荐线下用JMC,线上用BTrace定位问题。
特别鸣谢
感谢 R大,日常三更半夜跨洋热心解答各种JVM问题。
感谢Chembo(国钦),对PPT的美化。
完整Slides下载
请点击阅读原文跳转江南白衣博客链接,
或者扫描下面二维码直达江南白衣公众号:春天的旁边
可下载原版Slides
长按图片识别二维码
关注大神公众号
原创技术文章
和精彩福利
ps:中生代技术公众号里回复“江南白衣”也可获得下载链接
这份PPT花了我颇多时间,比写晋升材料还认真。
所以,会有同学扫描一下这二维码,打赏两块五鼓励一下吗?
-- 原创扩展阅读 --
中生代技术送福利了
福利一:关注中生代技术公众号,在中生代技术公众号里回复“十月十城”可以获取中生代技术十月十城的31个Slides下载
福利二:赠书,截止到11月4日晚12:00,精选情真意切者留言,点赞数前10名赠送下文中Java图书,二选一
PS:因为是纸质书,限送国内读者
特别致谢图灵教育和机械工业出版社
江南白衣推荐Java图书
《Java性能权威指南》和《深入理解Java虚拟机》
译者:柳飞,陆明刚,臧秀涛Java性能权威指南,涵盖Java 7和Java 8,原版目前最受欢迎的Java性能书,Oracle资深架构师Scott Oaks作品